package aom.ju.ss.utils.pay;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;

import com.google.gson.Gson;
import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;

import org.jetbrains.annotations.NotNull;

import aom.ju.ss.lpInterface.MyHttpCallBack;
import aom.ju.ss.mode.LpKey;
import aom.ju.ss.mode.UserInfo;
import aom.ju.ss.utils.LogUtils;
import aom.ju.ss.utils.NewToastUtilsKt;
import aom.ju.ss.utils.http.LP_API;
import aom.ju.ss.utils.http.OKHttpUtils;


/**
 * Created by sunning on 2018/7/9.
 */
public class PayManager {


//    public static void toPayNew(Activity content, int state, int integral_pay_type, String type, String orderNo, int cutUserId, int cutType, String totalCutPrice, AliPayUtil.AliPaySuccessListener listener, PaySuccessListener mPaySuccessListener, int dfk) {
//        if (cutType == 2) {//砍价是state 修改为14 长沙修改
//            state = 14;
//        }
//        int finalState = state;
//
//        if (type.equals("1") || type.equals("1,3") || type.equals("1,5") || type.equals("1,3,5")) {
//            wxxcxzf wx = new wxxcxzf("1",
//                    "android",
//                    "v1",
//                    UserInfo.Companion.getToken(),
//                    finalState + "",
//                    orderNo,
//                    cutUserId + "",
//                    cutType + "",
//                    totalCutPrice + "", type, integral_pay_type + "", "1",
//                    ((state == 7 || state == 8) && dfk == 0) ? "" : orderNo
//            );
//
//            weChatPay(content, new Gson().toJson(wx), "0");
//            return;
//        }
////        new GetTokenUtils(content, PAYMENT_PAY, true)
////                .Get((token, ok) ->
//        new OKHttpUtils(content)
//                .SetApiUrl("PAYMENT_PAY")
//                .SetKey("client_id",
//                        "platform", "api_version", "api_token", "token", "state", "order_num", "cut_user_id", "cut_type", "total_cut_price", "type", "integral_pay_type")//,"is_mp")
//                .SetValue("1", "android", "v1", "", UserInfo.Companion.getToken(), finalState + "", orderNo, cutUserId + "", cutType + "", totalCutPrice, type, integral_pay_type + "")//,"1")
//                .POST(new MyHttpCallBack() {
//                    @Override
//                    public void ok(String jsonString, String httpTY) {
//                        PayEntityMode mode = new Gson().fromJson(jsonString, PayEntityMode.class);
//                        if (type.equals("1") || type.equals("1,3") || type.equals("1,5") || type.equals("1,3,5")) {
//                            //微信支付
//                        } else if (type.equals("2") || type.equals("2,3") || type.equals("2,5") || type.equals("2,3,5")) {
//                            //支付宝支付
////                                    new AliPayUtil(content,listener).pay(result.data.alipay);
//                            new AliPay(content, listener, mode.getData(), null);
//                        } else if (type.equals("3") || type.equals("5") || type.equals("3,5")) {
//                            //支付成功
//                            NewToastUtilsKt.show("支付成功");
//                            if (mPaySuccessListener != null) {
//                                mPaySuccessListener.onPaySuccess();
//                            }
//                        }
//
//                    }
//
//                    @Override
//                    public void error(String e, String jsonString, String httpTY) {
//                        LogUtils.e("1111111");
//                        NewToastUtilsKt.show(e);
//                    }
//
//
//                })
//        ;
//
//    }

    /**
     * @param content
     * @param state
     * @param integral_pay_type   0普通付款 1积分付款
     * @param type
     * @param orderNo
     * @param cutUserId           发起砍价人
     * @param cutType             0普通商品 1砍价商品发起者 2砍价商品砍爷帮砍 3积分商品
     * @param totalCutPrice       砍价已砍的金额
     * @param listener
     * @param mPaySuccessListener
     */

//    public static void toPayNewTotalOrder(Activity content, int state, int integral_pay_type, String type, String orderNo, int cutUserId, int cutType, String totalCutPrice, AliPayUtil.AliPaySuccessListener listener, PaySuccessListener mPaySuccessListener, int dfk) {
//        if (type.equals("1") || type.equals("1,3") || type.equals("1,5") || type.equals("1,3,5")) {
//            wxxcxzf wx = new wxxcxzf("1",
//                    "android",
//                    "v1",
//                    UserInfo.Companion.getToken(),
//                    state + "",
//                    orderNo,
//                    cutUserId + "",
//                    cutType + "",
//                    totalCutPrice + "", type, integral_pay_type + "", "1",
//                    ((state == 7 || state == 8) && dfk == 0) ? "" : orderNo//普通商品
//            );
//
//            weChatPay(content, new Gson().toJson(wx), "0");
//            return;
//        }
//
//        new OKHttpUtils(content)
//                .SetApiUrl("PAYMENT_PAY")
//
//                .SetKey("client_id",
//                        "platform",
//                        "api_version",
//                        "api_token",
//                        "token",
//                        "state",
//                        "total_order_num",
//                        "cut_user_id",
//                        "cut_type",
//                        "total_cut_price",
//                        "type",
//                        "integral_pay_type")//,"is_mp")
//                .SetValue("1,",
//                        "android",
//                        "v1",
//                        "",
//                        UserInfo.Companion.getToken(),
//                        state + "",
//                        orderNo,
//                        cutUserId + "",
//                        cutType + "",
//                        totalCutPrice,
//                        type,
//                        integral_pay_type + "")//,"1")
//                .POST(new MyHttpCallBack() {
//                    @Override
//                    public void ok(String jsonString, String httpTY) {
//
//                        PayEntityMode mode = new Gson().fromJson(jsonString, PayEntityMode.class);
//                        if (type.equals("1") || type.equals("1,3") || type.equals("1,5") || type.equals("1,3,5")) {
//                            //微信支付
//                        } else if (type.equals("2") || type.equals("2,3") || type.equals("2,5") || type.equals("2,3,5")) {
//                            //支付宝支付
////                                    new AliPayUtil(content,listener).pay(result.data.alipay);
//
//                            new AliPay(content, listener, mode.getData(), null);
//                        } else if (type.equals("3") || type.equals("5") || type.equals("3,5")) {
//                            //支付成功
//                            NewToastUtilsKt.show("支付成功");
//                            if (mPaySuccessListener != null) {
//                                mPaySuccessListener.onPaySuccess();
//                            }
//                        }
//
//                    }
//
//                    @Override
//                    public void error(String e, String jsonString, String httpTY) {
//
//                        LogUtils.e("22222");
//                        NewToastUtilsKt.show("支付失败");
//                    }
//
//
//                });
//
//    }

    ;

    /**
     * 新增type 0 普通 1 促销商品  2 购买易货金
     *
     * @param activity
     */
    public static void weChatPay(Context context, String apis, String result, String apiType) {

//        新增type 0 普通 1 促销商品  2 购买易货金

        String appId = LpKey.INSTANCE.getWX_APP_ID(); // 填应用AppId 跳转小程序 demo

        IWXAPI api = WXAPIFactory.createWXAPI(context, appId);

        WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();

        LogUtils.e("type==" + apiType);

        req.userName = "gh_8f3401f86e18";// 填小程序原始id


        req.path = "/pages/payfor/appPay_new?key=" + result + "&type=" + apiType + "&api=" + LP_API.INSTANCE.getAPI_BASE_URL() + apis;//拉起小程序页面的可带参路径，不填默认拉起小程序首页

        LogUtils.e(req.path);

        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW; // 可选打开 开发版，体验版和正式版

        api.sendReq(req);
    }

    public static void aliPay(Activity act,@NotNull String uri) {
        Intent intent = new Intent(Intent.ACTION_VIEW); //Intent.ACTION_VIEW固定写法
        intent.setData(Uri.parse(uri)); //url是你要跳转的网页地址
        act.startActivity(intent);

        if (act != null && !act.isDestroyed() && !act.isFinishing()) {
            act.finish();
        }

    }
}

